This specification relates to programs executed in conjunction with media content rendering.
The Internet is widely used to distribute media content, including video, graphic, audio, and scripting data. In addition, media content can include associated metadata that provides information about the content to be rendered such as author, publication and licensing information. Moreover, metadata can also include a recommended frame rate for media playback. Media content can be downloaded as a file, or streamed to a client computer, where a media player application can process and output the media content to a display device and, if applicable, one or more speakers. The media player application or an application including media player functionality, in some examples, can be a program written for a particular operating system (OS) on a computer platform or a “plug-in” based software that runs inside another program, such as a runtime environment, on a computer platform.
Media content developed within a scripting language includes at least a scripting portion and a graphic portion, as well as other optional data portions such as audio. For each frame of a frame-based media content developed within a scripting language, for example, processing time can be devoted to first interpreting the scripting data and then rendering the graphic (e.g., video, animation, still image, etc.) data. Examples of scripting languages include ACTIONSCRIPT™ by Adobe Systems Incorporated of San Jose, Calif., JAVASCRIPT™ by Sun Microsystems Incorporated of Santa Clara, Calif., PYTHON® by Python Software Foundation (PSF), and Ruby by Yukihiro Matsumoto.
The rate at which media content is presented upon a user device can depend upon a number of factors, including timing information received within an audio track, a developer suggested frame rate, or a device refresh rate. If the media content is not locked to timing information such as an audio track, the actual frame rate can depend upon the processing rate of the user device. If the processor is too slow, or the processor has too many applications vying for processing time at once, the frame rate of particular media content rendered upon the user device can slow to a frame rate which is too slow for the user to properly experience. For example, the media content can appear to be stalled or choppy.